# ============================================================
# * Copyright © hk. 2022-2025. All rights reserved.
# * File name: CMakeLists.txt
# * Author   : 苏木
# * Date     : 2025-05-22
# * Version  : 
# * Description: cmake version 3.16.3
# ============================================================
## https://cmake.com.cn/cmake/help/latest/guide/tutorial/index.html
## https://cmake.org/cmake/help/latest/

# 指定 CMake 的最低版本要求
# --------------------------------------------------
cmake_minimum_required(VERSION 3.10)


# 设置项目名称和使用的编程语言
# --------------------------------------------------
project(SPROJECT C)


# 指定可执行程序和源文件
# --------------------------------------------------
add_executable(app_demo.out main.c)

# include包含模块(.cmake文件可以作为模块)
# --------------------------------------------------
# 查找模块文件时，CMake首先查询变量CMAKE_MODULE_PATH。
# 假设这是一个目录列表，CMake将按顺序搜索每个目录。将使用第一个匹配的文件，或者如果没有找到匹配的文件，
# 或者CMAKE_MODULE_PATH是空，或未定义，CMake将在自己内部的模块目录中搜索。这个搜索顺序允许通过向
# CMAKE_MODULE_PATH添加目录来添加自己的模块。

# 从给定的文件中加载并运行CMake代码。
message(STATUS "[USER:TOP]==> ${CMAKE_VERSION} 加载并运行.cmake文件")
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake_file")
include(config) # 加载模块的时候，不要加后缀，加了的话会报错
message(STATUS "[USER:TOP]config_var : ${config_var}")
message("")
